home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Found / FWString / Sources / FWBndStr.cpp next >
Encoding:
Text File  |  1995-11-08  |  7.2 KB  |  229 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWBndStr.cpp
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    (c) 1993, 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWFound.hpp"
  11.  
  12. #ifndef FWBNDSTR_H
  13. #include "FWBndStr.h"
  14. #endif
  15.  
  16. #ifdef FW_BUILD_MAC
  17. #include <Types.h>
  18. #endif
  19.  
  20. #ifndef FWEXCLIB_H
  21. #include "FWExcLib.h"
  22. #endif
  23.  
  24. #ifndef FWPRIDEB_H
  25. #include "FWPriDeb.h"
  26. #endif
  27.  
  28. #ifndef FWSTRTOO_H
  29. #include "FWStrToo.h"
  30. #endif
  31.  
  32. #if FW_LIB_EXPORT_PRAGMAS
  33. #pragma lib_export on
  34. #endif
  35.  
  36. #ifdef FW_BUILD_MAC
  37. #pragma segment Strings
  38. #endif
  39.  
  40. //========================================================================================
  41. //    CLASS FW_CBoundedString
  42. //========================================================================================
  43.  
  44. //----------------------------------------------------------------------------------------
  45. //    FW_CBoundedString::~FW_CBoundedString
  46. //----------------------------------------------------------------------------------------
  47.  
  48. FW_CBoundedString::~FW_CBoundedString()
  49. {
  50. }
  51.  
  52. //----------------------------------------------------------------------------------------
  53. //    FW_CBoundedString::FW_CBoundedString
  54. //----------------------------------------------------------------------------------------
  55.  
  56. FW_CBoundedString::FW_CBoundedString(FW_ByteCount stringSize, FW_Byte* storagePointer) :
  57.     FW_CString(),
  58.     fStringSize(stringSize)
  59. {
  60.     fRepresentation = storagePointer;
  61.     fCapacity = stringSize * sizeof(FW_Char);
  62.     PrivSetLength(0, 0);
  63. }
  64.  
  65. //----------------------------------------------------------------------------------------
  66. //    FW_CBoundedString::FW_CBoundedString
  67. //----------------------------------------------------------------------------------------
  68.  
  69. FW_CBoundedString::FW_CBoundedString(FW_ByteCount charWidth, FW_ByteCount stringSize, FW_Byte* storagePointer) :
  70.     FW_CString(charWidth),
  71.     fStringSize(stringSize)
  72. {
  73.     fRepresentation = storagePointer;
  74.     fCapacity = stringSize * sizeof(FW_Char);
  75.     PrivSetLength(0, 0);
  76. }
  77.  
  78. //----------------------------------------------------------------------------------------
  79. //    FW_CBoundedString::GrowCapacity
  80. //----------------------------------------------------------------------------------------
  81.  
  82. FW_ByteCount FW_CBoundedString::GrowCapacity(FW_ByteCount capacityNeeded)
  83. {
  84.     FW_UNUSED(capacityNeeded);
  85.  
  86.     return fStringSize * sizeof(FW_Char);
  87. }
  88.  
  89. //========================================================================================
  90. //    CLASS FW_CString32
  91. //========================================================================================
  92.  
  93. //----------------------------------------------------------------------------------------
  94. //    FW_CString32::FW_CString32
  95. //----------------------------------------------------------------------------------------
  96.  
  97. FW_CString32::FW_CString32() :
  98.     FW_CBoundedString(32, fStorage)
  99. {
  100. }
  101.  
  102. //----------------------------------------------------------------------------------------
  103. //    FW_CString32::FW_CString32
  104. //----------------------------------------------------------------------------------------
  105.  
  106. FW_CString32::FW_CString32(FW_ByteCount charWidth) :
  107.     FW_CBoundedString(charWidth, 32, fStorage)
  108. {
  109. }
  110.  
  111. //----------------------------------------------------------------------------------------
  112. //    FW_CString32::FW_CString32
  113. //----------------------------------------------------------------------------------------
  114.  
  115. FW_CString32::FW_CString32(const FW_CString32 &string) :
  116.     FW_CBoundedString(string.GetCharWidth(), 32, fStorage)
  117. {
  118.     Append(string);
  119. }
  120.  
  121. //----------------------------------------------------------------------------------------
  122. //    FW_CString32::FW_CString32
  123. //----------------------------------------------------------------------------------------
  124.  
  125. FW_CString32::FW_CString32(const FW_CString &string) :
  126.     FW_CBoundedString(string.GetCharWidth(), 32, fStorage)
  127. {
  128.     Append(string);
  129. }
  130.  
  131. //----------------------------------------------------------------------------------------
  132. //    FW_CString32::FW_CString32
  133. //----------------------------------------------------------------------------------------
  134.  
  135. FW_CString32::FW_CString32(const FW_Char *items, FW_CharacterCount numberItems) :
  136.     FW_CBoundedString(32, fStorage)
  137. {
  138.     Append(items, numberItems);
  139. }
  140.  
  141. //----------------------------------------------------------------------------------------
  142. //    FW_CString32::FW_CString32
  143. //----------------------------------------------------------------------------------------
  144.  
  145. FW_CString32::FW_CString32(const FW_Char *items) :
  146.     FW_CBoundedString(32, fStorage)
  147. {
  148.     Append(items, FW_StringLength(items));
  149. }
  150.  
  151. //----------------------------------------------------------------------------------------
  152. //    FW_CString32::~FW_CString32
  153. //----------------------------------------------------------------------------------------
  154.  
  155. FW_CString32::~FW_CString32()
  156. {
  157. }
  158.  
  159. //========================================================================================
  160. //    CLASS FW_CString255
  161. //========================================================================================
  162.  
  163. //----------------------------------------------------------------------------------------
  164. //    FW_CString255::FW_CString255
  165. //----------------------------------------------------------------------------------------
  166.  
  167. FW_CString255::FW_CString255() :
  168.     FW_CBoundedString(255, fStorage)
  169. {
  170. }
  171.  
  172. //----------------------------------------------------------------------------------------
  173. //    FW_CString255::FW_CString255
  174. //----------------------------------------------------------------------------------------
  175.  
  176. FW_CString255::FW_CString255(FW_ByteCount charWidth) :
  177.     FW_CBoundedString(charWidth, 255, fStorage)
  178. {
  179. }
  180.  
  181. //----------------------------------------------------------------------------------------
  182. //    FW_CString255::FW_CString255
  183. //----------------------------------------------------------------------------------------
  184.  
  185. FW_CString255::FW_CString255(const FW_CString255 &string) :
  186.     FW_CBoundedString(string.GetCharWidth(), 255, fStorage)
  187. {
  188.     Append(string);
  189. }
  190.  
  191. //----------------------------------------------------------------------------------------
  192. //    FW_CString255::FW_CString255
  193. //----------------------------------------------------------------------------------------
  194.  
  195. FW_CString255::FW_CString255(const FW_CString &string) :
  196.     FW_CBoundedString(string.GetCharWidth(), 255, fStorage)
  197. {
  198.     Append(string);
  199. }
  200.  
  201. //----------------------------------------------------------------------------------------
  202. //    FW_CString255::FW_CString255
  203. //----------------------------------------------------------------------------------------
  204.  
  205. FW_CString255::FW_CString255(const FW_Char *items, FW_CharacterCount numberItems) :
  206.     FW_CBoundedString(255, fStorage)
  207. {
  208.     Append(items, numberItems);
  209. }
  210.  
  211. //----------------------------------------------------------------------------------------
  212. //    FW_CString255::FW_CString255
  213. //----------------------------------------------------------------------------------------
  214.  
  215. FW_CString255::FW_CString255(const FW_Char *items) :
  216.     FW_CBoundedString(255, fStorage)
  217. {
  218.     Append(items, FW_StringLength(items));
  219. }
  220.  
  221. //----------------------------------------------------------------------------------------
  222. //    FW_CString255::~FW_CString255
  223. //----------------------------------------------------------------------------------------
  224.  
  225. FW_CString255::~FW_CString255()
  226. {
  227. }
  228.  
  229.